package com.tianqi.modules.pms.service;

import com.tianqi.common.api.CommonResult;
import com.tianqi.modules.pms.dto.request.ArrangeDiskReqDTO;
import com.tianqi.modules.pms.dto.response.CalendarDaysDTO;
import com.tianqi.modules.pms.dto.response.CalendarNowDayDTO;
import com.tianqi.modules.pms.dto.response.EightCharAllRespDTO;
import com.tianqi.modules.pms.dto.response.EightCharPartRespDTO;

import java.text.ParseException;
import java.util.List;

public interface TianganDizhiService {
    /**
     * @description: 根据日期获取天干地支
     * @author: zp
     * @date: 2023/8/7 9:20
     * @param: [arrangeDIskReqDTO]
     * @return: com.tianqi.common.api.CommonResult<com.tianqi.modules.pms.dto.request.ArrangeDiskReqDTO>
     **/
    CommonResult<EightCharAllRespDTO> getEightCharacters(ArrangeDiskReqDTO arrangeDIskReqDTO);

    /**
     * 根据日期获取八字-大运部分
     *
     * @param arrangeDiskReqDTO
     * @return
     */
    CommonResult<EightCharPartRespDTO> getEightCharPart(ArrangeDiskReqDTO arrangeDiskReqDTO);

    /**
     * @description: 根据年月字符串获取当前月的万年历
     * @author: zp
     * @date: 2023/8/17 10:53
     * @param: [yearMonth]
     * @return: com.tianqi.common.api.CommonResult<java.util.List<com.tianqi.modules.pms.dto.response.CalendarDaysDTO>>
     **/
    CommonResult<CalendarNowDayDTO> getCalendarDays(String yearMonth);
}
